logologo
Start
Przewodnik
Programowanie
Wtyczki
API
Strona główna
English
简体中文
日本語
한국어
Español
Português
Deutsch
Français
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
Start
Przewodnik
Programowanie
Wtyczki
API
Strona główna
logologo
Przegląd

Bloki

Przegląd

Bloki danych

Tabela
Formularz
Szczegóły
Lista
Karta siatki
Wykres

Bloki filtrów

Formularz

Inne bloki

Panel akcji
Iframe
Markdown
Blok JS

Ustawienia bloku

Zakres danych
Metoda ładowania danych
Układ
Reguły powiązań bloków
Reguły powiązań pól
Reguły sortowania
Sortowanie przeciągnij i upuść
Usuwanie bloku
Tytuł bloku
Wysokość bloku
Wersje robocze formularzy

Pola

Przegląd

Ustawienia ogólne

Pole tabeli
Pole szczegółów
Pole formularza filtra
Pole formularza

Ustawienia specyficzne

Data
Menedżer plików
Podformularz
Selektor rozwijany
Selektor danych
Selektor kaskadowy
Podtabela (edycja wiersza)
Podtabela (edycja w oknie)
Podszczegóły
Tytuł
Pole JS
Element JS
Kolumna JS

Ustawienia pola

Wartość domyślna
Etykieta pola
Pokaż etykietę
Podpowiedź pola
Zakres danych
Komponent pola
Formatowanie liczb
Wzór
Wymagane
Pole tytułowe
Reguły walidacji
Komponent pola relacji

Akcje

Przegląd

Ustawienia akcji

Przycisk edycji
Podwójne potwierdzenie
Przypisanie wartości pola
Powiąż przepływ pracy
Okno edycji
Reguły powiązań akcji

Typy akcji

Dodaj nowe
Wyświetl
Usuń
Edytuj
Duplikuj
Importuj
Importuj Pro
Eksportuj
Eksportuj Pro
Eksportuj załączniki
Filtruj
Link
Otwórz okno
Odśwież
Prześlij dane
Uruchom przepływ pracy
Zaktualizuj rekord
Aktualizacja masowa
Edycja masowa
Dodaj podrekord
Akcja JS
Uprawnienia do akcji

Zaawansowane

Reguły powiązań
Strumień zdarzeń
Zmienne
RunJS
Szablony UI
Previous PagePanel akcji
Next PageMarkdown
TIP

Ten dokument został przetłumaczony przez AI. W przypadku niedokładności, proszę odnieść się do wersji angielskiej

#Blok Iframe

Blok: iframeCommunity Edition+

#Wprowadzenie

Blok Iframe umożliwia osadzanie zewnętrznych stron internetowych lub treści na bieżącej stronie. Mogą Państwo łatwo zintegrować zewnętrzne aplikacje na stronie, konfigurując adres URL lub bezpośrednio wstawiając kod HTML. Korzystając ze strony HTML, mogą Państwo elastycznie dostosowywać zawartość do konkretnych potrzeb wyświetlania. Ta metoda jest szczególnie odpowiednia dla scenariuszy wymagających spersonalizowanego wyświetlania, ponieważ pozwala ładować zasoby zewnętrzne bez przekierowań, co poprawia komfort użytkowania i interaktywność strony.

20251026205102

#Składnia szablonu

W trybie HTML zawartość bloku obsługuje użycie składni silnika szablonów Liquid.

20251026205331

#Obsługa zmiennych

#Obsługa zmiennych w HTML

  • Umożliwia wybieranie zmiennych z bieżącego kontekstu bloku za pomocą selektora zmiennych. 20251026205441

  • Umożliwia wstrzykiwanie i używanie zmiennych w aplikacji za pomocą kodu.

Mogą Państwo również wstrzykiwać niestandardowe zmienne do aplikacji za pomocą kodu i używać ich w HTML. Na przykład, tworząc dynamiczną aplikację kalendarza za pomocą Vue 3 i Element Plus:

<!doctype html>
<html lang="zh">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Vue3 CDN Example</title>
    <script src="https://cdn.bootcdn.net/ajax/libs/vue/3.5.9/vue.global.prod.js"></script>
    <script src="https://unpkg.com/element-plus"></script>
    <script src="https://unpkg.com/element-plus/dist/locale/zh-cn"></script>
    <link
      rel="stylesheet"
      href="https://unpkg.com/element-plus/dist/index.css"
    />
  </head>
  <body>
    <div id="app">
      <el-container>
        <el-main>
          <el-calendar v-model="month">
            <div class="header-container">
              <div class="action-group">
                <span class="month-display">{{ month }}</span>
                <el-button-group>
                  <el-button
                    type="primary"
                    :loading="loading"
                    @click="changeMonth(-1)"
                    >Last month</el-button
                  >
                  <el-button
                    type="primary"
                    :loading="loading"
                    @click="changeMonth(1)"
                    >Next month</el-button
                  >
                </el-button-group>
              </div>
            </div>
          </el-calendar>
        </el-main>
      </el-container>
    </div>
    <script>
      const { createApp, ref, provide } = Vue;
      const app = createApp({
        setup() {
          const month = ref(new Date().toISOString().slice(0, 7));
          const loading = ref(false);

          const changeMonth = (offset) => {
            const date = new Date(month.value + '-01');
            date.setMonth(date.getMonth() + offset);
            month.value = date.toISOString().slice(0, 7);
          };
          provide('month', month);
          provide('changeMonth', changeMonth);
          return { month, loading, changeMonth };
        },
      });
      app.use(ElementPlus);
      app.mount('#app');
    </script>
  </body>
</html>

20250320163250

Przykład: Prosty komponent kalendarza stworzony za pomocą React i Ant Design (antd), wykorzystujący dayjs do obsługi dat.

<!doctype html>
<html lang="zh">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>React CDN Example</title>
    <script src="https://unpkg.com/react@18/umd/react.production.min.js"></script>
    <script src="https://unpkg.com/react-dom@18/umd/react-dom.production.min.js"></script>
    <link
      rel="stylesheet"
      href="https://cdn.jsdelivr.net/npm/antd/dist/antd.min.css"
    />
    <script src="https://unpkg.com/dayjs/dayjs.min.js"></script>
  </head>
  <body>
    <div id="app"></div>
    <script src="https://cdn.jsdelivr.net/npm/antd/dist/antd.min.js"></script>
    <script>
      document.addEventListener('DOMContentLoaded', function () {
        const { useState } = React;
        const { Calendar, Button, Space, Typography } = window.antd;
        const { Title } = Typography;
        const CalendarComponent = () => {
          const [month, setMonth] = useState(dayjs().format('YYYY-MM'));
          const [loading, setLoading] = useState(false);
          const changeMonth = (offset) => {
            const newMonth = dayjs(month)
              .add(offset, 'month')
              .format('YYYY-MM');
            setMonth(newMonth);
          };
          return React.createElement(
            'div',
            { style: { padding: 20 } },
            React.createElement(
              'div',
              {
                style: {
                  display: 'flex',
                  justifyContent: 'space-between',
                  alignItems: 'center',
                  marginBottom: 16,
                },
              },
              React.createElement(Title, { level: 4 }, month),
              React.createElement(
                Space,
                null,
                React.createElement(
                  Button,
                  { type: 'primary', loading, onClick: () => changeMonth(-1) },
                  'Last month',
                ),
                React.createElement(
                  Button,
                  { type: 'primary', loading, onClick: () => changeMonth(1) },
                  'Next month',
                ),
              ),
            ),
            React.createElement(Calendar, {
              fullscreen: false,
              value: dayjs(month),
            }),
          );
        };
        ReactDOM.createRoot(document.getElementById('app')).render(
          React.createElement(CalendarComponent),
        );
      });
    </script>
  </body>
</html>

20250320164537

#Obsługa zmiennych w URL

20251026212608

Więcej informacji na temat zmiennych znajdą Państwo w sekcji Zmienne.