HarmonyOS TextArea在onDidDelete中改变值时,双向绑定不起作用

@Entry
@Component
struct TextInputExample {
  @State text: string = ''
  controller: TextInputController = new TextInputController()

  build() {
    Column({ space: 20 }) {
      Text(this.text)
      TextArea({ text: $$this.text, placeholder: 'input your word...', controller: this.controller })
        .placeholderColor(Color.Grey)
        .placeholderFont({ size: 14, weight: 400 })
        .caretColor(Color.Blue)
        .width(300)
        .onDidDelete((value: DeleteValue) => {
          this.text = ''
        })
    }.width('100%').height('100%').justifyContent(FlexAlign.Center)
  }
}
HarmonyOS
2天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Heiang

可以使用@Watch来监听删除事件并设计相应的逻辑,简单示例代码如下:

@Entry
@Component
struct Index4 {
  @State @Watch('del') text: string = '测试'
  controller: TextAreaController = new TextAreaController()
  @State textDel: string = ''

  aboutToAppear(): void {
    this.textDel = this.text
  }

  del() {
    if (this.text.length < this.textDel.length) {
      console.log(`模拟删除回调`)
      if (this.text.length === 0) {
        this.textDel = ''
      }
    } else {
      this.textDel = this.text
      console.log(`textDel: ${this.textDel}`);
    }
  }

  build() {
    Column({ space: 20 }) {
      Text(this.text)
      Text(this.text.toString().length.toString())
      Text('再点击一次删除键')
        .visibility(this.text.length <= 0 ? Visibility.Visible : Visibility.Hidden)
      TextArea({ text: $$this.text, placeholder: 'input your word...', controller: this.controller })
        .placeholderColor(Color.Grey)
        .placeholderFont({ size: 14, weight: 400 })
        .caretColor(Color.Blue)
        .width(300)
    }.width('100%').height('100%').justifyContent(FlexAlign.Center)
  }
}
分享
微博
QQ
微信
回复
2天前
相关问题
Preferences不起作用
4327浏览 • 1回复 待解决
HarmonyOS zIndex不起作用
114浏览 • 1回复 待解决
HarmonyOS异步await不起作用
553浏览 • 1回复 待解决
HarmonyOS 清除缓存不起作用
161浏览 • 1回复 待解决
HarmonyOS TextAlign.JUSTIFY 不起作用
307浏览 • 1回复 待解决
HarmonyOS router.back不起作用
234浏览 • 1回复 待解决
HarmonyOS column设置圆角不起作用
697浏览 • 1回复 待解决
hilog的private参数不起作用
5989浏览 • 1回复 待解决
HarmonyOS data_preferences remove不起作用
346浏览 • 1回复 待解决
设置状态栏颜色不起作用怎么回事?
2529浏览 • 1回复 待解决
,配置自动签名不起作用
898浏览 • 1回复 待解决
HarmonyOS $$双向绑定问题
503浏览 • 1回复 待解决