برنامه نویسی

“Play Hongmeng on Mac with Hardware 13” Hongmeng UI Components Part 3 – کامپوننت TextInput برای به دست آوردن ورودی کاربر

در توسعه اپلیکیشن Hongmeng،TextInput کامپوننت برای دریافت ورودی کاربر استفاده می شود و برای انواع ورودی مانند متن و رمز عبور مناسب است. این مقاله به طور مفصل به معرفی Hongmeng می پردازد TextInput نحوه استفاده از مؤلفه‌ها، از جمله محدودیت‌های ورودی، تنظیمات سبک، نظارت بر رویداد و برنامه‌های جعبه جستجو، به شما کمک می‌کند تا ورودی کاربر را در برنامه‌های Hongmeng به طور انعطاف‌پذیر مدیریت کنید.

20241028_202020.gif

کلمات کلیدی

  • جزء TextInput
  • ورودی کاربر
  • محدودیت های ورودی
  • گوش دادن به رویداد
  • تابع جستجو

1. مبانی جزء TextInput

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

1.1 استفاده اساسی

  • یک کادر ورودی متن ایجاد کنید، مکان‌نما و رنگ پس‌زمینه را تنظیم کنید و استفاده کنید @State نوشته های خود را ذخیره کنید:
  @Entry
  @Component
  struct TextInputDemo {
    @State inputText: string = ''; // 定义状态变量保存输入内容

    build() {
      Column() {
        TextInput({ placeholder: 'Enter text here' }) // 创建带占位符的输入框
          .onChange((value) => this.inputText = value) // 监听输入变化,将内容保存到 inputText
          .backgroundColor(Color.Pink) // 设置背景颜色为粉色
          .fontColor(Color.Black) // 设置文本颜色为黑色
          .fontSize(20) // 设置字体大小
      }
      .width('100%') // 设置列宽度为 100%
      .height('100%') // 设置列高度为 100%
    }
  }

مثال افکت

Screenshot_2024-10-28T200727.png

2. تنظیم سبک TextInput

TextInput پشتیبانی از تنظیمات سبک چندگانه برای سفارشی سازی آسان جلوه های بصری مانند فونت ها، مکان هایی، حاشیه ها و تراز.

2.1 سبک متغیرهای سفارشی

  • رنگ جایگیر و سبک قلم را تنظیم کنید:
  TextInput({ placeholder: 'Enter your username' }) // 设置占位符文本
    .placeholderColor(Color.Gray) // 设置占位符颜色为灰色
    .fontSize(18) // 设置字体大小为 18
    .fontWeight(FontWeight.Normal) // 设置字体粗细为正常

2.2 حاشیه ها و گوشه های گرد

  • عبور کند borderColor و borderRadius تنظیم رنگ حاشیه و جلوه گوشه های گرد:
  TextInput({ placeholder: 'Enter your password' }) // 设置占位符文本
    .borderColor(Color.Blue) // 设置边框颜色为蓝色
    .borderWidth(2) // 设置边框宽度为 2
    .borderRadius(10) // 设置圆角半径为 10

2.3 رنگ پس زمینه

  • استفاده کنید backgroundColor رنگ پس زمینه کادر ورودی را تنظیم کنید:
  TextInput({ placeholder: 'Type here...' }) // 设置占位符文本
    .backgroundColor(Color.Gray) // 设置背景颜色为灰色

مثال افکت

Screenshot_2024-10-28T200813.png

3. نظارت بر رویداد TextInput

3.1 نظارت بر محتوای ورودی

  • استفاده کنید onChange رویداد تغییرات محتوای ورودی را نظارت می کند و آنها را در آن ذخیره می کند @State متغیر:
  @Entry
  @Component
  struct InputListener {
    @State userInput: string = ''; // 定义状态变量保存输入内容

    build() {
      Column() {
        TextInput({ placeholder: 'Enter text here' }) // 创建带占位符的输入框
          .onChange((value) => this.userInput = value) // 输入内容变化时,更新 userInput
          .fontSize(18) // 设置字体大小为 18

        Text(`You entered: ${this.userInput}`) // 显示输入的内容
          .fontSize(16) // 设置显示文本的字体大小为 16
          .margin({ top: 10 }) // 设置上边距为 10
      }
    }
  }

3.2 رویدادهای متمرکز و خارج از کانون

  • استفاده کنید onFocus و onBlur رویداد به تمرکز و عدم فوکوس جعبه ورودی گوش می دهد، مناسب برای انجام عملیات خاص:
  TextInput({ placeholder: 'Type your message' }) // 创建带占位符的输入框
    .onFocus(() => console.log('Input field focused')) // 输入框聚焦时,输出日志
    .onBlur(() => console.log('Input field unfocused')) // 输入框失焦时,输出日志

4. تمرین TextInput: جعبه ورودی جستجو

در توسعه واقعی،TextInput اغلب برای ایجاد یک جعبه جستجو استفاده می شود که می تواند محتوای ورودی را در زمان واقعی به روز کند و وظیفه پاک کردن محتوا را دارد.

4.1 پیاده سازی جعبه جستجو

  • یک کادر جستجو را با یک دکمه پاک اجرا کنید:
  @Entry
  @Component
  struct SearchInput {
    @State searchText: string = ''; // 定义状态变量保存搜索内容

    build() {
      Column() {
        Row() {
          TextInput({ placeholder: 'Search here...' }) // 设置搜索输入框占位符
            .onChange((value) => this.searchText = value) // 输入变化时更新 searchText
            .fontColor(Color.Black) // 设置字体颜色为黑色
            .backgroundColor(Color.Gray) // 设置背景颜色为灰色
            .fontSize(18) // 设置字体大小为 18
            .width('80%') // 设置宽度为 80%

          Button('Clear') // 创建清除按钮
            .onClick(() => this.searchText = '') // 点击清除按钮时清空搜索内容
            .width(60) // 设置按钮宽度为 60
            .margin({ left: 10 }) // 设置左边距为 10
        }
        .margin({ bottom: 20 }) // 设置下边距为 20

        if (this.searchText.length > 0) {
          Text(`Searching for: ${this.searchText}`) // 显示当前输入的搜索内容
            .fontSize(16) // 设置字体大小为 16
            .fontColor(Color.Blue) // 设置字体颜色为蓝色
        } else {
          Text('Please enter a search term.') // 当没有输入时显示提示文本
            .fontSize(16) // 设置字体大小为 16
            .fontColor(Color.Gray) // 设置字体颜色为灰色
        }
      }
      .padding(20) // 设置整体容器内边距为 20
    }
  }

4.2 دستورالعمل های اجرایی

  • searchText برای ذخیره ورودی کاربر استفاده می شود.
  • TextInput مکان نگهدارنده را برای کادر ورودی تنظیم کنید و پاس کنید onChange رویدادها در زمان واقعی به روز می شوند searchText.
  • Button دکمه پاک کردن با کلیک کردن پاک می شود. searchText، محتوای جعبه جستجو را پاک کنید.
  • رندر شرطی نتایج جستجو یا درخواست های ورودی را ارائه می دهد.

5. سوالات متداول و بهینه سازی TextInput

5.1 حداکثر تعداد کاراکترها را محدود کنید

  • استفاده کنید maxLength تعداد کاراکترهای وارد شده را محدود کنید:
  TextInput({ placeholder: 'Enter your username' }) // 设置占位符文本
    .maxLength(10) // 限制最多输入 10 个字符

5.2 محتوای ورودی را پاک کنید

  • برای پاک کردن سریع محتوای ورودی، یک دکمه پاک در کنار کادر ورودی اضافه کنید:
  Row() {
    TextInput({ placeholder: 'Type here...' }) // 设置占位符文本
      .onChange((value) => this.text = value) // 绑定内容变化

    Button('Clear') // 创建清除按钮
      .onClick(() => this.text = '') // 点击清除按钮时清空内容
      .width(50) // 设置按钮宽度为 50
      .margin({ left: 10 }) // 设置左边距为 10
  }

خلاصه

این مقاله معرفی می کند TextInput استفاده اولیه مؤلفه، تنظیم سبک، نظارت بر رویداد، و کاربرد عملی کادر جستجو نشان داده شده است تا به توسعه دهندگان کمک کند تا به طور انعطاف پذیر ورودی کاربر را در برنامه های Hongmeng مدیریت کنند.

پیش نمایش مقاله بعدی

مقاله بعدی مولفه های Switch و Checkbox را برای اجرای توابع سوئیچینگ و انتخاب معرفی می کند.

مقاله قبلی:“Play Hongmeng on Mac with Hardware 12” Hongmeng UI Components Part 2 – Use of Image Components

مقاله بعدی:“Play Hongmeng on Mac with Hardware 14” Hongmeng UI Components Part 4 – Toggle and Checkbox Components

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

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

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

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