From f44104b8a56091e6811ccf709273d1ce65d246bc Mon Sep 17 00:00:00 2001 From: yumoqing Date: Thu, 28 May 2026 16:52:26 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20Button=20label=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E4=BD=BF=E7=94=A8text=5Fw.set=5Ftext()=E6=9B=BF=E4=BB=A3option?= =?UTF-8?q?s.label=E8=B5=8B=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 根因: 1. script上下文中this为undefined,无法通过this.options.label访问 2. btn.options.label只修改属性不更新DOM,需调用text_w.set_text() 3. Button内部label是bricks.Text子组件(text_w),需通过其API更新 --- wwwroot/user/login.ui | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wwwroot/user/login.ui b/wwwroot/user/login.ui index d442512..abbb230 100644 --- a/wwwroot/user/login.ui +++ b/wwwroot/user/login.ui @@ -105,7 +105,7 @@ "event": "click", "actiontype": "script", "target": "self", - "script": "var form=bricks.getWidgetById('phone_form',bricks.app);if(!form){alert('form not found');return;}var vals=form._getValue();var cell=vals.cell_no;if(!cell){alert('请输入手机号');return;}this.options.label='发送中...';fetch(bricks.app.baseUrl+'/rbac/gen_sms_code.dspy?_webbricks_=1&cellphone='+encodeURIComponent(cell)).then(function(r){return r.json()}).then(function(d){var btn=bricks.getWidgetById('gen_code_btn',bricks.app);if(d.status==='ok'){form.setValue({codeid:d.data.key});if(btn){btn.options.label='已发送'}}else{alert(d.data.message);if(btn){btn.options.label='发送验证码'}}}).catch(function(e){alert('发送失败:'+e);var btn=bricks.getWidgetById('gen_code_btn',bricks.app);if(btn){btn.options.label='发送验证码'}})" + "script": "var form=bricks.getWidgetById('phone_form',bricks.app);if(!form){alert('form not found');return;}var vals=form._getValue();var cell=vals.cell_no;if(!cell){alert('请输入手机号');return;}var btn=bricks.getWidgetById('gen_code_btn',bricks.app);if(btn&&btn.text_w){btn.text_w.set_text('发送中...')}fetch(bricks.app.baseUrl+'/rbac/gen_sms_code.dspy?_webbricks_=1&cellphone='+encodeURIComponent(cell)).then(function(r){return r.json()}).then(function(d){if(d.status==='ok'){form.setValue({codeid:d.data.key});if(btn&&btn.text_w){btn.text_w.set_text('已发送('+cell+')')}}else{alert(d.data.message);if(btn&&btn.text_w){btn.text_w.set_text('发送验证码')}}}).catch(function(e){alert('发送失败:'+e);if(btn&&btn.text_w){btn.text_w.set_text('发送验证码')}})" } ] }