HarmonyOS 鸿蒙Next TextInput enable文字颜色

HarmonyOS 鸿蒙Next TextInput enable文字颜色

TextInput enable改为false 无法修改文字颜色?

```scss
  TextInput({ placeholder: '0.00', text: this.inputBuffer })
    .enabled(false)
    .placeholderFont({ size: 48, weight: 400 })
    .borderRadius(0)
    .width(StyleConst.fill_parent)
    .fontSize(this.fontSize)
    .fontColor(Color.White)
    .textAlign(TextAlign.End)
    .placeholderColor(Color.White)
}

文字颜色还是黑色的那种?不是白色的


更多关于HarmonyOS 鸿蒙Next TextInput enable文字颜色的实战教程也可以访问 https://www.itying.com/category-93-b0.html

6 回复

这个我看了一下发现一旦设置 enabledfalse,则无法改变这个输入框文字的颜色了,有一个属性可以改变,

即使是不可点击也可以改变,但是这个有一个缺点,背景也被改了。

还有一种方法:

TextInput({ placeholder: '0.00', text: this.message })
  .placeholderFont({ size: 48, weight: 400 })
  .colorBlend(Color.Green)
  .borderRadius(0)
  .width('100%')
  .fontSize(20)
  .focusOnTouch(false)
  .fontColor(this.color)
  .textAlign(TextAlign.End)
  .placeholderColor(Color.White)

颜色可以通过这个来动态改变,你想要的效果无非是不可点击状态,就是点击不会触发软键盘弹出,所以可以动态控制这个属性。

.focusOnTouch(false)

false就是点击无效果,但是颜色可以随意改变。需要软键盘出现,就设置为true。希望能帮助你。

更多关于HarmonyOS 鸿蒙Next TextInput enable文字颜色的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


多谢,是一个办法,这种情况只能避免使用 .enabled(false)

不设置 enabled,使用 focusable(false) 就可以,既能随意设置 placeholder 颜色能够生效,也能不予聚焦点击。

我猜是是用@State来解决

使用@State 来修饰 isEnabled值啊

.enabled(true) 文字颜色是白色的,没问题,改为.enabled(false)文字颜色,如何修改,还有其他属性控制吗?

在HarmonyOS(鸿蒙Next)中,TextInput组件的enable属性用于控制输入框是否可编辑。当enable设置为false时,输入框将变为不可编辑状态,且默认情况下,文字颜色会变为灰色,表示禁用状态。若需自定义禁用状态下的文字颜色,可通过设置textColor属性来实现。例如:

<TextInput
    enable="false"
    textColor="#FF0000" />

上述代码将禁用状态下的文字颜色设置为红色。

回到顶部