برنامه نویسی

چگونه می توان از Harmonyos Next استفاده کرد – Arkui: TextInput Component؟

مؤلفه TextInput به طور گسترده ای برای وارد کردن متن تک خط مانند رمزهای عبور حساب ورود به سیستم ، ارسال پیام و غیره استفاده می شود.

TextInput(value?:{placeholder?: ResourceStr, text?: ResourceStr, controller?: TextInputController})
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

Placeholder : فوری را تنظیم کنید
text : متن را تنظیم کنید
 کنترلر : کنترلر TextInput را تنظیم کنید

نوع ورودی را تنظیم کنید

.type(value: InputType)
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

نوع شمارش ورودی:
– inputtype.normal : حالت ورودی اصلی. پشتیبانی از شماره ها ، حروف ، تأکیدات ، فضاها و کاراکترهای خاص را پشتیبانی می کند.
– inputtype.password : حالت ورودی رمز عبور.
– inputtype. ایمیل: حالت ورودی آدرس ایمیل.
– inputtype.number : حالت ورودی دیجیتال خالص.

متن ورودی را دریافت کنید
هنگام تغییر متن ورودی ، رویداد OnChange را تنظیم کنید تا عملکرد پاسخ به تماس را ایجاد کند.

.onChange(callback: EditableTextOnChangeCallback)
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

مثال کد: TextInputPage

@Entry
@Component
struct TextInputPage {
  @State message: string = 'TextInput Component';
  @State phone:string='';

  build() {
    Column({space:6}) {
      Text(this.message)
        .fontSize(30)
        .fontWeight(FontWeight.Bold)

      TextInput({placeholder:'Please enter your account'})
      TextInput({text:'Set initial value'})
      TextInput({placeholder:'Please input a password'})
        .type(InputType.Password)
      TextInput({placeholder:'Please enter your phone number'})
        .type(InputType.Number)
        .onChange((value:string)=>{
          this.phone=value
        })
      Text('The phone number is: '+this.phone)
    }
    .height('100%')
    .width('100%')
  }
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

پیشخوان را تنظیم کنید تا وقتی تعداد کاراکترهای وارد شده از طریق InputCounterOptions از آستانه فراتر رود ، نمایش داده شود.

showCounter(value: boolean, options?: InputCounterOptions)
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

– هنگامی که مقدار پارامتر صحیح است ، می توان گزینه ها را تنظیم کرد. جعبه متن عملکرد شاخص شمارش را امکان پذیر می کند ، که باید در رابطه با طول حداکثر (تنظیم حداکثر حد کاراکتر) استفاده شود. اثر نمایش داده شده توسط پیشخوان کاراکتر ، تعداد فعلی کاراکترهای ورودی است که بر حداکثر تعداد کاراکترهای ورودی تقسیم می شود.
– هنگامی که تعداد کاراکترهای ورودی بیشتر از حداکثر تعداد کاراکترهای ضرب شده با مقدار درصد است ، پیشخوان کاراکتر نمایش داده می شود. اگر کاربر هنگام تنظیم پیشخوان ، InputCounterOptions را تنظیم نکند ، هنگامی که تعداد کاراکتر ورودی فعلی از حداکثر تعداد کاراکتر باشد ، شاخص مرز و پیشخوان قرمز می شود. کاربر هم مقدار پارامتر را در True و InputCounterOptions تنظیم می کند. هنگامی که مقدار آستانه در محدوده معتبر قرار دارد و تعداد کاراکتر ورودی از حداکثر تعداد کاراکتر فراتر می رود ، شاخص مرز و پیشخوان قرمز می شود و جعبه تکان می خورد. اگر HighlightBorder روی False تنظیم شود ، مرز قرمز نمایش داده نمی شود ، پیشخوان به طور پیش فرض به رنگ قرمز و قاب تکان می خورد.
creath پیشخوان کاراکتر در حالت درون خطی و حالت رمز عبور نمایش داده نمی شود.

مثال کد: عملکرد پیشخوان از طریق ویژگی های حداکثر ، نمایش و نمایشگاه نمایش داده می شود.

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

  build() {
    Column() {
      TextInput({ text: this.text, controller: this.controller })
        .placeholderFont({ size: 16, weight: 400 })
        .width(336)
        .height(56)
        .maxLength(6)
        .showUnderline(true)
        .showCounter(true,
        //The display effect of the counter is the current number of characters input by the user divided by the maximum character limit. The maximum character limit is set through the maxLength() interface.
          { thresholdPercentage: 50, highlightBorder: true })
          //If the user's current input character count reaches the maximum character limit multiplied by 50% (threshold percentage). The character counter displays.
          //When the user sets highlightBorder to false, configure to remove the red border. When this parameter is not set, it defaults to true.
        .onChange((value: string) => {
          this.text = value;
        })
    }.width('100%').height('100%').backgroundColor('#F1F3F5')
  }
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا